package thread;

/**
 * 当一个线程调用sleep方法处于睡眠阻塞的过程中该线程的interrupt方法被调用，那么会中断该
 * 线程的睡眠阻塞，此时sleep方法会抛出中断异常。
 */
public class SleepDemo2 {
    public static void main(String[] args) {
        Thread lin = new Thread(){
            public void run(){
                System.out.println("林:刚美完容，睡一会吧...");
                try {
                    Thread.sleep(100000000);//lin线程执行到这里会进入sleep阻塞
                } catch (InterruptedException e) {
                    System.out.println("林:干嘛呢!干嘛呢!干嘛呢!都破像了!");
                }
                System.out.println("林:醒了。");
            }
        };

        Thread huang = new Thread(){
            public void run(){
                System.out.println("黄:大锤80，小锤40，开始砸墙！");
                for(int i=0;i<5;i++){
                    try {
                        System.out.print("黄:八");
                        Thread.sleep(500);
                        System.out.println("十!");
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                    }
                }
                System.out.println("咣当!");
                System.out.println("黄:大哥！搞定!");
                lin.interrupt();//中断lin线程的睡眠阻塞
            }
        };
        lin.start();
        huang.start();
    }
}
